Repository navigation
chore: promote expbkmain to bkmain (remote open targets, mobile plan banner + per-remote icons) - #167
Merged
Merged
Conversation
The managed desktop build points its primary environment at the central bkt3 server, but upstream's remote-open resolver treats a desktop renderer's primary as this machine unconditionally. So "Open in Cursor" asked dev-server-1 to launch an editor there, which silently did nothing on the viewer's Mac. The fork now tells the resolver that a managed primary is remote, so it builds the SSH deep link it already knows how to build. Upstream PR pingdotgg#8305 is backported alongside it, so each host advertises its own login account and the link connects as that user rather than the viewer's - which is what makes several servers with different accounts work from one client. Editors reach another machine over SSH; Obsidian and a file manager cannot, so they need to be pointed at a local copy. "Open in..." targets pair a URL template with remote-to-local path mappings, optionally scoped to one host, and appear in the same Open menu. On a local server the path is used as-is. Model: Claude Opus 5 (1M context), harness: Claude Code in T3 Code.
fix(web): open a remote worktree in your own editor, Obsidian, or Finder
…, collapse-all in the web file browser Three pieces of device feedback on 1.0.4.15. The 'Plan ready for review' banner rendered above the thread body, which on iOS sits under the transparent glass header and status bar, so it could not be tapped. It now lives with the other pending cards above the composer. The plan review sheets also used web-only colour tokens that render black in dark mode; swept to the mobile theme tokens. Sessions from several remotes were indistinguishable on the phone. The environment nickname / icon / colour catalogue moved from apps/web into client-runtime so both clients derive the same default look from the environment id; mobile stores overrides in device preferences and shows the glyph on phase sidebar rows whenever rows span more than one environment. Configure it from Settings → Connections or from the sidebar's Group-by sheet. The web and desktop file browser gained a collapse-all button next to refresh. Model: Claude Fable 5.1 (Claude Code) Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
feat(mobile): plan banner above the composer, per-remote icons on iOS, collapse-all in the web file browser
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Promotes
expbkmain(293603e6b) tobkmain. Verified live on expbkt3 before opening:deployed-shamatches293603e6b,t3-expbkt3.serviceactive since 08:07 UTC today, HTTPS 200.Merges cleanly into
bkmain— no conflicts (git merge-treereports only an auto-merge indocs/operations/expbkt3-customizations.md).t3-bkmain.servicerestarts on deploy, which ends every in-flight agent turn on bkt3.What's included (2 promoted PRs)
Open a remote worktree in your own editor, Obsidian, or Finder (#165) — the managed desktop build points its primary environment at the central bkt3 server, but upstream's remote-open resolver treats a desktop renderer's primary as this machine, so "Open in Cursor" asked dev-server-1 to launch an editor and nothing opened on the viewer's Mac. The corrected predicate lives in
apps/web/src/fork/remoteOpenManaged.tsbehind one marked call site. Also backports upstream pingdotgg#8305 verbatim (each host advertises the account its server runs as, so the SSH deep link connects asubuntuon ds1 rather than the viewer's own username), and adds user-defined "Open in…" targets — a URL template plus remote-to-local path mappings, with presets for Obsidian, Finder, and Zed-over-SSH. Desktop fires these through a dedicateddesktop:bk-open-targetIPC channel rather than wideningElectronShell's allowlist.Mobile plan banner, per-remote icons, collapse-all (#166) — the plan-ready banner rendered under iOS's transparent glass header and status bar; it now sits with the pending cards above the composer. Plan review sheets used web-only colour tokens that rendered black in dark mode. The environment nickname/icon/colour catalogue moved to
packages/client-runtimeso mobile can show SF Symbol glyphs per remote on phase sidebar rows. Plus a collapse-all button in the web/desktop file browser.Divergence note
bkmaincarries #164 (the reaper's unindexed-event-scan fix) which is not onexpbkmain, so the merged combination has not itself run on expbkt3. The two sides are disjoint — #164 is server-side persistence/reaper, the promoted work is web/mobile client — and the merge has no conflicts.Verification carried over from the promoted PRs
tsgo --noEmitclean, fork markers pass.environmentAppearance.test.ts(12), mobile phasesidebar + persistence (50); per-package typecheck clean.Risk
#165's remote-open fix ships in the desktop bundle and has not been exercised on a real Mac; a broken target is disabled with a reason rather than opening the wrong folder. Mobile changes are client-side only. No migrations.
Model: Claude Opus 5 (1M context), harness: Claude Code in T3 Code.
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.